package main

import "fmt"

// 结构体指针
type person struct {
	name, city string
	age        int
}

func main() {
	// 声明一个结构体指针
	var p2 = new(person)

	fmt.Printf("%T\n ", p2)
	// 对指针下结构体 赋值
	(*p2).city = "北京"
	(*p2).name = "ssc"
	(*p2).age = 18

	fmt.Printf("%#v\n", p2)

	// 简化一下写法
	var p1 = new(person)
	// go 语法糖可以简写上面流程
	fmt.Printf("%#v\n", p1)
	p1.name = "sunshicheng"
	p1.age = 18
	p1.city = "安徽阜阳"

	fmt.Printf("%#v\n", p1)

	// 取结构体的地址进行实例
	p3 := &person{}
	fmt.Printf("%#v\n", p3)
	p3.name = "zcm"
	p3.city = "哈尔滨"
	p3.age = 20
	fmt.Printf("%#v\n", p3)

}
